草庐IT

python - 从 Python 结构构建 XML

全部标签

pointers - 当字段是指向 x 的指针时,使用反射设置结构字段的值

我有一个指向各种基元的指针结构。该结构是应用程序的配置,字段是指针的原因是这样我可以确定设置为默认值的字段和根本未设置的字段-以强制执行“必需”字段。这是一个简单的例子:typeConfigstruct{A*stringB*intC*boolD*[]string//wildcard!}因此,我通过reflect.ValueOf(*cfg)获取了reflect.Value,这为我提供了每个元素上的.Field,我遍历。问题是,每个元素都不通过CanAddr或CanSet,我似乎无法找到一种方法来设置指针后面的值。这是语言的限制吗?我需要让我的字段成为非指针吗?那会很糟糕,因为无法确定用户

json - 使用 omitempty 时将嵌套结构中的 0/False 编码为 json

当将一个结构编码为JSON时,我可以将一个变量分配给它对应的“空值”,并且即使在使用omitempty时仍然传递它,但是我无法在嵌套结构中获得相同的结果,因为尽管它被省略了作为一个指针。这可能吗?typeFoostruct{BarBar`json:"bar,omitempty"`A*int`json:"a,omitempty"`//Doesnotgetomittedwhena=0B*bool`json:"b,omitempty"`//Doesnotgetomittedwhenb=false}typeBarstruct{X*int`json:"x,omitempty"`//Getsomi

go - 打印一片结构的内容

如果一开始是错误的,我们深表歉意。我正在尝试学习Golang,并且正在研究各种概念。我很确定我在这里混淆了一些东西......我正在尝试编写一个简单的程序来创建一个名为“person”的结构,它接受名字、姓氏和年龄。我希望用户能够指定他们将进入structpersonslice的人数,然后遍历输入的人数,获取输入并将其存储在personslice中。然后,我希望能够将其中一个“人”打印到终端,例如第6个(假设输入了很多人)。这是我目前所拥有的:packagemainimport"fmt"funcmain(){varpeopleinttypepersonstruct{firstNames

json - 将结构转换为 json 数组而不是 json 对象

如果这个问题被认为太简单或其他原因,我提前道歉;这是我第一次在go中写任何东西。我有两个结构(针对这个问题进行了简化)typeAstruct{Contentstring}typeBstruct{ElementA`json:"0"`Children[]B`json:"1"`}我想将B类型的值编码成JSON,但不是返回一个对象,而是返回一个json数组例如:我得到的:[{"0":{"Content":"AAA"},"1":[{"0":{"Content":"BBB"},"1":[{"0":{"Content":"CCC"},"1":[]},{"0":{"Content":"DDD"},"1

unit-testing - 如何使用结构/接口(interface)来模拟依赖项以进行测试

我是新手...我的目标是单元测试我的ready()中的状态是否正在更新。我一直在看https://engineering.aircto.com/writing-testable-code-in-golang/并尝试找出如何使他们正在做的事情适应我的用例,尽可能填补golang知识的空白。我收到错误消息cannotusefakeSession(type*FakeSession)astype*discordgo.Sessioninargumenttoready但我不确定为什么我'我收到此错误。ma​​in.goimport("fmt""os""os/signal""syscall""git

go - 迭代结构并执行数据库查询

所以我是go新手,我有javascript/node背景,为了练习,我一直在将我的一些javascript代码重写到go中。我有一个结构(在节点中它是我的对象),我需要迭代它并执行两个数据库查询。我有一些有用的东西,但它似乎很昂贵且重复。结构:typeSiteUsersstruct{Activestruct{Moderators[]string`json:"moderators"`Admins[]string`json:"admins"`Regulars[]string`json:"regulars"`}`json:"active"`}然后在我处理返回绑定(bind)到此结构的JSON

go - 初始化 map 元素,其中值是具有互斥锁 golang 的结构

我有一个映射,其中每个值都是指向另一个本身有锁的结构的指针。typeStatMapmap[string]*StatstypeStatsstruct{sync.RWMutexsomeStats,someMoreStatsfloat64}我已经实现了一种方法,我将StatMap打包到另一个结构中并为整个map设置互斥锁,但我希望从数百个goroutines中同时修改map中的每个条目,因此它会更有效锁定映射中的每个元素,以便两个或多个goroutine可以并行读取和修改条目的值。我想知道的是,每当出现新key时,我如何才能在map中初始化一个新条目?如果条目不在map中,我无法锁定该条目,

go - 无法构建对撞机(Go 中基于 websocket 的信令服务器)

我正在尝试构建apprtc信令服务器(对撞机)。根据教程,我们只需要输入gogetcollidermain设置$GOPATH后。但是我得到了这样的错误>gogetcollider/collidermainsrc/collider/collidermain/main.go:9:2:nobuildableGosourcefilesin/home/abdulmanaf/poc/apprtcNewVersion/apprtc/src/collider然后我尝试构建collider文件夹。但是我得到了这样的错误>gogetcollider/collider#golang.org/x/net/we

mysql - 结构用户 - 有很多 session 。查找给定 session 的用户

我正在使用gormforGo和MySQL驱动程序,这就是我正在尝试做的事情。这是我的两个结构:typeUserstruct{IDuint`gorm:"primary_key"`Emailstring`sql:"unique_index;notnull;type:varchar(64)"`Passwordstring`sql:"index;notnull;type:varchar(64)"`Sessions[]Session`gorm:"ForeignKey:UserID"`Roles[]Role`gorm:"many2many:users_roles;"`Leveluint`sql:"

xml - Go XML Unmarshaling 不读取属性

Go语言的新手。从XML中,代码解码除属性之外的所有值。有人可以告诉我做错了什么吗:packagemainimport("encoding/xml""fmt")funcmain(){v,_:=GetData()fmt.Print(v)}typeQuerystruct{InstituationList[]Instituation`xml:"institution"`}typeInstituationstruct{XMLNamexml.Name`xml:"institution"`OFXHomeIDstring`xml:"id,attr"`Namestring`xml:"name"`FId